草庐IT

XSLT 教程

全部标签

xml - XSLT 不复制 HTML 实体的值

我有以下xml代码:LouisPasteurGrangerCollectionLouisPasteur(1822–1895)wasaFrenchchemist.Hemademajorcontributionstochemistry,medicine,andindustry.Hisworkhasgreatlybenefitedpeople.Forexample,hediscoveredthatdiseasesspreadthroughbacteriatinylivingthings.Thisdiscoveryhassavedmanymillionsoflives.和以下XSL

xml - 使用 xslt 转换 xml

我有以下xml:SomeTextHere我需要使用xsl将其转换为以下内容:{\b\iSomeTextHere\i0\b0\par}到目前为止,我设法使用以下方法选择block元素:{\par}我正在输出:{SomeTextHere\par}我正在努力处理属性并使用xsl插入它,任何人都可以给我一个选择这些属性并获得所需结果的示例吗? 最佳答案 有一种相当简单的方法可以通用地执行此操作,使用模板模式和说明。{\par}\b\i\b0\i0当使用'后缀'模式时,第二次以相反的顺序处理属性。严格来说select="node()"主模板中

xml - 如何使用 XSLT 对 RSS 提要进行分组

我有一个XML文件,其中包含从Internet上的提要中读取的数据。XML是标准的RSS2.0文件。看起来像(我省略了一些标签以缩短帖子):BlahCAT1Blah2CAT2Blah3CAT1我想做的是使用XSLT创建一个HTML文件。我的问题是我需要按CATEGORY标签对项目进行分组。为了生成类似的东西:CAT1BlahBlah3CAT2Blah2到目前为止,我发现了一堆教如何使用XSLT通过使用属性(如this、this和this)进行分组的操作系统帖子。但是,我所有的适应尝试都失败了。TIA,鲍勃 最佳答案 这可以使用Mue

xml - 使用 XSLT/XSL 解析具有相同名称的子元素的 XML

我想知道是否有一种方法可以使用XSLT传输父元素及其所有具有相同元素名称的子元素。例如,如果原始的xml文件是这样的:123然后我尝试使用xsl解析它:想要这样的东西:123但我明白了:1因为for-each更适合这种格式:123有没有像上面那样格式化而不是第一种方式来获得所需的打印输出?谢谢 最佳答案 这是因为您在父级而不是子级上执行xsl:for-each。如果将其更改为此(假设当前上下文为/),您将获得所需的结果:但是...通常不需要使用xsl:for-each。您应该让覆盖模板为您处理工作,而不是试图从单个模板/上下文(如/

xml - 简单的 XSLT 属性添加

我想在我的XML文档上做一些非常简单的XSLT,它的结构如下:我正在尝试制作一个执行以下操作的XSLT:复制所有内容如果TAG2@attribute1="A"ANDTAG2@attribute2="B"并且没有TAG2@attribute4,则将@attribute4添加到TAG2并使其值为TAG2@attribute3的值我不成功的尝试如下。我得到的错误是“xsl:attribute:如果已将子项添加到元素,则无法向该元素添加属性。”谢谢! 最佳答案 结果: 关于xml-简单的XSLT

xml - XSLT 无法正常工作以删除元素

给定以下XML文件:我想删除包含源属性“SourceDir\Program.exe”的组件元素和相关的ComponentRef。因此,我根据其他SO接受的答案应用了以下XSLT:RemovingrelatedelementsusingXSLT1.0结果是相同的原始XML,没有删除任何元素。我正在使用http://www.xmlper.com/进行测试。关于为什么它不起作用的任何想法?问候 最佳答案 我认为这都是关于XML命名空间的。尝试以下操作:为WiX元素添加XML命名空间:xmlns:wix="http://schemas.mi

javascript - 从 javascript 调用 XSLT

我有一系列XML文件,这些文件引用XSLT文件以在浏览器中呈现为HTML。其中一些具有链接,这些链接将在常规页面上执行AJAX调用以请求HTML并将其插入到页面上已有的DIV中。我想做的是从这个页面调用一个网络服务,点击一个链接,然后接收XML,然后以与原始页面相同的方式处理成HTML,然后通过AJAX插入到DIV当前页面。我的问题是:如何让Javascript下载的XML由其关联的XSLT使用Javascript进行解析? 最佳答案 在MSIE中,您可以调用xmlDoc.transformNode(xslDoc)。(xmlDoc和

xml - XSLT:检查是否在节点列表中找到节点

我需要检查节点列表中是否存在特定值。目前我正在使用for-each,我认为这效率不高。and-->Found!我想一次性搞定。我该怎么办? 最佳答案 按照您的使用方式使用时,current()与.相同(参见12.4部分)。但是,current的目的(广义上讲)是能够从谓词中获取整个表达式的上下文节点(其中.表示谓词的上下文).我想这种区别的微妙之处可能引起了一些混淆。只有当整个表达式的上下文节点的字符串值与$thisProduct相同时,这个XPath表达式才会成功。这显然不是你想要的:$ChildList[string(curre

xml - 如何在 XSLT2 replace() 函数中转换 'mix and match' 实体?

我正在试验XSLT2,使用基于this的样式表回答:$0')"/>旨在进行多次替换,例如来自:abc<field1>def<field2>ghi到:abc<field1>def<field2>ghi但是我的转换无效,我得到这个错误:Erroronline12column54ofmy.xsl:SXXP0003:ErrorreportedbyXMLparser:Thevalueofattribute"select"associatedwithanelementtype"null"mustnotcontainthe'如果我使用select="r

xml - 格式化 XSLT 文档

我有一个XSLT文件,用于将数据从表转换为INSERT语句。所以输出看起来像INSERTINTOsome_tableVALUES(Voda,Šenov);INSERTINTOsome_tableVALUES(Vorba,Vlčnov);这对我来说很好。我的XSLT包含这三行INSERTINTOsome_tableVALUES(,);问题来了,我真的不想在同一行中放置这么多值(我的表有大约20列)以保持输出格式,那么有没有办法保持输出相同并在for-each中的多行插入我的列?非常感谢您的回答编辑我想要这样的for-each循环INSERTINTOsome_tableVALUESva1,